home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 January - Disc 2 / Macworld (1999-01) (Disk 2).dmg / Serious Demos / Symbolic Composer 4.2 / Environment / System / DEF / Define / Basics / def-symbol < prev    next >
Lisp/Scheme  |  1998-10-23  |  2KB  |  43 lines

  1. def-symbol def-description &rest def-descriptions
  2.  
  3. def-symbol describes the symbols used by individual instruments. Def-description consists of instrument name and value. If the value is a quoted list, it is associated directly with the instrument name, otherwise the evaluated value is used.
  4.  
  5. This function is used with def-length to define symbols for individual instruments. If you use def-rhythm then you may not need this function.
  6.  
  7. (setq values '(e f g (-1 h)))
  8.  
  9. (def-symbol
  10.    bass '(a b c d)
  11.    drum (pick-drum ("club:house" 0.4 a b a c)) 
  12.    fill (fill-template 
  13.          (filter-midpass 'a 'b
  14.                          (pick-drum ("club:strange" 0.4 a b))) 'a)
  15.    perc (list values)
  16. )
  17.  
  18. Nested Lists
  19.  
  20. The length, velocity and symbol forms can be one of the following:
  21.  
  22. • a value like 1/16, 64 and a
  23. • a single list (e0 e1 e2... en)
  24. • a nested list ((e0 e1 e2... en)) 
  25. • a list of lists ((e00 e01 e02... e0n) (e10 e11 e12... e1n) ... (en0 en1 en2... enn)). 
  26.  
  27. The difference between them is that:
  28.  
  29. • the value is repeated over and over 
  30. • the single list is repeated when all of its values are used
  31. • the nested list is restarted at the beginning of every zone 
  32. • the list of lists describes the values for each zone. These values are repeated continuously inside the zone. If there are more zones than lists defined then the whole listof lists is restarted.
  33.  
  34. Note that you must quote these forms if you are writing them manually. If the values are returned by a function the output can be used directly.
  35.  
  36. When using multiple zones use nil to represent an empty symbol pattern for that zone, for example:
  37.  
  38. ((a b c) nil (c d e))
  39.  
  40. This will create an empty zone in cases the zone actually is a positive length symbol.
  41.  
  42. The instrument can be a single instrument, or instrument group defined with def-orchestra. The properties are inherited to all sub-groups and instruments of the group.
  43.